# 设置编码格式
# coding: utf-8
# 引入浏览器驱动
from selenium import webdriver
import time
# 引入谷歌浏览器驱动
driver = webdriver.Chrome()
# 设置访问的网站
driver.get("https://www.baidu.com")
# 输入框的定位方式
# id定位 需要通过浏览器的检查模式去找到输入框的id
# driver.find_element_by_id("kw").send_keys("壁纸")
# id定位到搜索框
# driver.find_element_by_id("su").click()

# name定位到输入框
# driver.find_element_by_name("wd").send_keys("张艺兴")
# name定位到搜素按钮 发现百度搜索按钮没有name，那么就还是id定位
# driver.find_element_by_id("su").click()

# calssname定位到输入框
# driver.find_element_by_class_name("s_ipt nobg_s_fm_hover").send_keys("鹿晗")
# calssname定位到搜索框
# driver.find_by_element_by_calss_name("btn self-btn bg s_btn btn_h btnhover").click()

# 测试发现出现错误，因为不能根据名字定位到一个元素，名字不是唯一的

# link text定位可点击的超链接，比如页面上的新闻标志文本，壁纸等等
# driver.find_element_by_link_text("新闻").click()
# partial link text 定位，通过超连接的部分文字即就可以定位
# driver.find_element_by_partial_link_text("新").click()

# xpath定位  xpath绝对是唯一的，所以可以使用xpath定位比较可靠
# xpath是一种在xml文档中定位元素的语言，html可以看做是xml的一种实现
# driver.find_element_by_xpath("//*[@id='kw']").send_keys("鹿晗")
# xpath定位搜索框
# driver.find_element_by_xpath("//*[@id='su']").click()

# tag name就是html的type，比如input text等等标签
# tag nmae一般是定位不到的，因为很大可能不是唯一的
# driver.find_element_by_tag_name("input").send_keys("张艺兴")
# driver.find_element_by_tag_name("input").click()
# css定位 f12定位到原码，选择指定元素的原码，右键选择copy,copy selector
#driver.find_element_by_css_selector("#kw").send_keys("杨和苏")
#driver.find_element_by_css_selector("#su").click()


# 操作测试对象之提交表单
driver.find_element_by_css_selector("#kw").send_keys("说唱巅峰对决")
# time.sleep(8)
# 智能等待，出现了就关闭页面，很快
driver.implicitly_wait(8)
# 输入框输入之后就可以清除内容
driver.find_element_by_css_selector("#kw").clear()
# time.sleep(5)
driver.implicitly_wait(5)
# 重新输入
driver.find_element_by_css_selector("#kw").send_keys("一路向北")
driver.find_element_by_css_selector("#su").submit()
# 睡眠（秒）
# 延迟执行给定的秒数。该参数可以是亚秒精度的浮点数。
time.sleep(10)
driver.quit()